The present invention relates to a system of interprocessor communication via a common bus or highway, which includes a bus interface circuit, or bus arbitrator circuit, for resolving requests for bus accesses, i.e., requests to transmit data on the bus, by communicating devices coupled to the common bus, thereby implementing the system of interprocessor communication.
In digital systems having a plurality of devices, such as controllers and/or processors, it is often times desired or required to have some form of dialog or communication exchange take place between these devices, especially when the functions of the devices must be co-ordinated.
Many systems exist for interfacing processors. When two processors are to be connected together, past practice has had each processor treat the other as an external input/output device. Commonly, a data channel of one processor is connected to a data channel of the other processor and then, in order to transfer data, each processor must initialize its data channel with address and count information and start the channels reading into memory or writing out of memory, as appropriate. This means that before any data block transfers can occur, both processors must co-operate in performing the requisite initialization.
Another recognized architecture for interprocessor communication is through the use of a common bus. Once again, before any data transfers can occur, the processors must co-operate which can result in tying up the processor for an unduly long period of time. Many co-operating schemes have been implemented and are well known to those skilled in the art, including the techniques of Token Passing, Master Polling of Subordinate Devices, Carrier Sense Collision Detection, and Broadcasting techniques. Most of these techniques requires incorporating a scheme for resolving potential conflicts when simultaneous accesses for the bus are made which can be complex or time consuming.
Hence, it is highly desirable to provide a system for interprocessor communication which avoids conflicts from arising between devices desiring to communicate and which avoids the complexity and time loss of the aforementioned communication systems and communication techniques.